package framework;

/**
 * This is the state interface. The state interface doesn't need any methods.
 * The implementation of the states will have fields that contain the different
 * states. for example, in the 2 states case, we would have some representation
 * of "Alive" and "Dead", or "On" and "Off".
 * 
 * @author jtumarki, ntibrewa, shuaihan, wesleyk
 * 
 */
public interface State {

	/**
	 * Client must implement a getID function for each state to distinguish them
	 * 
	 * @return ID of the state
	 */
	public String getID();

	/**
	 * equals function to compare states
	 * 
	 * @return true if same state, false otherwise
	 */
	public boolean equals(Object o);
}
